This invention pertains to the digital data processing art and, more particularly, to an improved method and apparatus for correcting transmission errors of digital information bit streams.
Error correcting codes are well known, especially in the digital computer and digital data communication fields. Errors may occur whenever a stream of digital information bits, i.e. a sequence of logic "zero" or "one" levels, is transmitted over a channel subject to noise interference. Numerous techniques have been developed to encode the transmitted data such that errors occurring during transmission can be detected and corrected at the receiver site.
One example of a prior art approach is the BCH block code.
While the BCH block code is capable of error correction without the use of "stretch" bits it does not provide burst correction, it is not flexible in application and it requires a complex decoder.
Also, burst error correction convolutional codes have been developed. These systems all employ some "time diversity" scheme which "stretches" the entire message by the amount of the "time diversity". These stretch bits, when added to messages of short or moderate length may constitute a substantial portion, e.g. 50% to 90%, of the entire transmitted message thereby substantially increasing the overall message length and resulting transmission time.
Finally, one error correction convolutional codes have been developed which are capable of correcting random errors in a transmitted data bit stream. A randon error is distinguished from a burst error in that random errors affect single bits and are generally widely spaced. In a burst error, however, two or more successive bits are obliterated. Such convolutional codes are not capable of correcting burst type errors.
Thus, the prior art has felt a need for an error correction system which is capable of correcting both random and burst errors and which requires a minimum of transmission bits.